A hot carrier injection is a mechanism adopted for programming a non-volatile memory. It is usually to elevate the lateral channel electric field to a high order, such as over 105 V/cm, to invoke a hot carrier injection. A conventional hot carrier injection programming method is illustrated in FIG. 1 to provide a better understanding of said method. FIG. 1 shows a memory string with several memory cells connected in a serial mode. Doped regions 14 and 16 are arranged on the ends and coupled to MOS switches 12 and 11, respectively. To conduct the hot carrier injection programming of the selected cell 10, the doped region 14 should receive a channel voltage that is greater than the ground voltage, whereas the doped region 16 is preferably set to ground level. Both MOS switches 11 and 12 are turned on and other cells are biased with a pass voltage; hence, a potential difference may form in the buried channel. A programming voltage is applied on the gate of the selected cell 10 in order to have the hot carriers penetrate into the selected cell's 10 trapping layer. Devices that adopt the hot carrier injection mechanism receive a lower programming voltage as compared to F-N tunneling.
As shown in FIG. 1, generated hot carriers are supposed to enter the selected cell 10 when the programming voltage is applied on the control gate. However, as the geometric dimension shrinks rapidly, the distance between each cell may be shorter such that the hot carriers may pass the selected cell 10 and enter unexpected regions, such as its neighboring cell 18. Therefore, the overshooting hot carriers may cause disturbance to the cell 18 and perform unexpected programming.